iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0
Software Development

從無到有,LINE著不走系列 第 10

Day10:掌握 HTTP 請求和回應,了解 API 基礎概念

  • 分享至 

  • xImage
  •  

HTTP 請求

1. 方法

  • GET:用來請求資源。請求通常不包含body。
    GET /users/123 HTTP/1.1
    Host: example.com
    
  • POST:用來提交資料。請求包含body,通常用於創建新資源。
    POST /users HTTP/1.1
    Host: example.com
    Content-Type: application/json
    
    {
      "name": "John Doe",
      "email": "john.doe@example.com"
    }
    
  • PUT:用來更新現有資源。請求包含body。
    PUT /users/123 HTTP/1.1
    Host: example.com
    Content-Type: application/json
    
    {
      "name": "John Smith",
      "email": "john.smith@example.com"
    }
    
  • DELETE:用來刪除資源。請求通常不包含body。
    DELETE /users/123 HTTP/1.1
    Host: example.com
    

2. URL

URL(統一資源定位符)指定請求的資源。範例:

https://api.example.com/users/123

3. 標頭

請求標頭提供有關請求的資料:

  • Content-Type:指定請求body的媒介類型,如 application/json
  • Authorization:用於提供身份驗證信息,例如 Bearer <token>
  • Accept:指定客戶端能處理的媒介類型,如 application/json

4. body

POSTPUT 請求中,body通常包含要提交的資料。例如:

{
  "name": "Alice",
  "age": 30
}

HTTP 回應

1. 狀態碼

狀態碼顯示請求的結果:

  • 200 OK:請求成功,通常返回請求的資源或結果。
  • 201 Created:請求成功,資源已創建(通常與 POST 一起使用)。
  • 204 No Content:請求成功,但沒有返回內容(通常與 DELETE 一起使用)。
  • 400 Bad Request:請求無效,請檢查請求的語法或資料。
  • 401 Unauthorized:需要身份驗證。
  • 403 Forbidden:沒有權限訪問資源。
  • 404 Not Found:請求的資源不存在。
  • 500 Internal Server Error:伺服器出現錯誤。

2. 標頭

回應標頭提供有關回應的Metadata:

  • Content-Type:回應body的媒介類型,如 application/json
  • Set-Cookie:設置 cookie。

3. body

響應body包含請求的結果或錯誤信息。例如:

{
  "userId": 123,
  "name": "John Doe"
}

API 基本概念

1. API(應用程序編程接口)

API 是一組定義如何進行應用程序交互的規則和協議。它使得不同系統能夠互相溝通和操作資料。

2. 端點

API 端點是可以訪問的特定 URL,用於執行操作。例如:

GET https://api.example.com/users

3. 請求參數

請求參數可以在 URL 中傳遞(查詢參數)或在body中(對於 POSTPUT)。例如:

  • 查詢參數
    GET https://api.example.com/users?age=30
    
  • body參數POSTPUT 請求):
    {
      "name": "Alice",
      "age": 30
    }
    

4. 身份驗證

API 通常需要身份驗證以確保安全性。常見的身份驗證方法包括:

  • API 密鑰:通過請求標頭或 URL 傳遞密鑰。
  • OAuth:使用令牌(token)進行授權。

上一篇
Day 9: 實踐一個簡單的 Web 應用程序,如一個基本的 To-Do List
下一篇
Day11: 論套件管理的重要性
系列文
從無到有,LINE著不走30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言